草庐IT

phpstorm 和 phpunit

全部标签

php - 如何从 PHP 脚本运行 PHPUnit?

我正在使用PHPUnit和Goutte创建自定义测试应用程序。我想在我自己的引导文件中加载Goutte库(加上测试所需的任何文件),然后在全部引导完成后启动PHPUnit测试运行程序。我不确定如何在不从外部调用phpunit脚本的情况下执行此操作(这将是一个单独的过程,并且将无法看到我的自举库)。以前有人做过这样的事吗?最好的方法是什么? 最佳答案 如果您引用fixtureschapter在PHPUnit文档中,它告诉您有关setup()和teardown()的信息。PHPUnitsupportssharingthesetupcod

php - fatal error : Class 'ZipArchive' - not found when using PHPUnit

我重构了一些PHP代码并将其放入一系列PHPUnit类中。在其上运行PHPUnit(3.7.28)时(通过控制台)出现上述fatalerror。PHP版本为5.4.6-1ubuntu1.4(cli)。我知道Zip类正在工作并且可用,因为它在正常运行代码时(也通过控制台)工作想法/想法表示赞赏。谢谢!zip=newZipArchive();}} 最佳答案 在命名空间内,您必须使用完全限定的类名来引用类(函数除外)或首先导入它们:$this->zip=new\ZipArchive();或namespacephpUnit\Test;use

使用 Makegood 的 Eclipse 4.2 中的 PHPUnit 测试未运行

我使用composer安装了PHPUnit,一切都按预期工作。我可以运行测试并获得预期的输出。这是我的composer.json..."require-dev":{"phpunit/phpunit":"4.1.*","piece/stagehand-testrunner":">=3.6.1"},...然后我使用市场安装了MakeGood2.5,在Makegood>General下,我选择了预加载脚本我使用的文件模式是'test.php$'在Makegood>PHPUnit下,我已经给出了配置文件的路径。在PHPIncludePath>Libraries下,我添加了composer/ve

php - mysqldump xml 格式和 dbunit 在 phpunit 测试中预期的 xml 格式

我正在使用dbunit进行phpunit测试。这是我第一次在php中进行测试。我正在通过此命令创建xml:mysqldump--xml-t-uusername-pdatabase>seed.xml之后根据docxml应采用以下格式:但在我生成的xml中它看起来像:11asdas2asDASD当我试图在我的测试类中运行它时:$this->createMySQLXMLDataSet('seed.xml');我收到这个错误:PHPUnit_Extensions_Database_Exception:Therootelementofaflatxmldatasetfilemustbecalled

nginx - PhpStorm 与 xdebug (nginx/php-fpm) 没有传入连接

我想我会尝试使用nginx而不是Apache,看看它是如何工作的,我已经启动并运行了,但我不能为了我的生活弄清楚如何让PhpStorm捕获传入的xdebug连接。当我运行Apache时它工作得很好。通常,您会在PhpStorm中获得一个“传入连接”窗口-现在该窗口消失了-是的;我已经阅读了StackOverflow上的每一个PhpStorm/Xdebug问题,但都没有解决我的问题。配置:操作系统:OSX小牛队PhpStorm版本:7.1Xdebug版本:2.2.5请注意,我正在通过php-fpm运行nginx和PHP,它按预期工作。我已经指出与php-fpm相同的PHP文件正在运行到P

PhpUnit:测试方法调用时的自定义错误消息

目前我正在为一个框架编写测试,我们通常在测试失败时使用自定义错误消息,添加一些有用的调试信息:$this->assertEquals($check,$result,'Class::methodreturnedthewrongresultwithargumentXXX');但是我希望在检查函数调用时自定义错误消息:$mock->expects($this->any())->method('foobar')->with($this->equals('dummy'));当上述断言不成立时,我得到标准消息。我在PhpUnit文档中进行了搜索,但找不到自定义错误消息的方法,我是否遗漏了任何内容?

用于测试 catch block 的 PHPunit

我有这样一个代码:publicfunctionone(){try{$this->two();}catch(Exception$E){$this->three();}}我如何测试调用了$this->three()函数?我尝试“按代码模拟”$this->two()并抛出错误而不是它的原始代码,但最终错误被phpunit本身捕获。尝试了setExpectedException,但它也没有解决问题-catch再次在phpunit中运行,只是被忽略了。函数$this->three()在这两种情况下都没有被调用。谢谢! 最佳答案 问题是所描述的

php - 使用 Jetbrains PHPStorm 覆盖 PHPUnit 0%

我正在使用Codeigniter3框架和一个phpunit包ci-phpunit-test.我在启用了zend调试器的zend服务器上运行php。我的phpunit.xml文件在那里:././_ci_phpunit_test/../controllers../models我使用带有绿色线条和破折号的图标来运行代码覆盖执行,这会运行以下命令:"C:\ProgramFiles(x86)\Zend\ZendServer\bin\php.exe"-dzend_debugger.enable_coverage=1C:/Users/NICOLAS/AppData/Local/Temp/ide-ph

php - 如何在使用 PHPUnit、Selenium 和 php-webdriver 进行测试后保持登录状态

我正在尝试使用它们之间的共享session运行多个测试,从登录开始。'chrome','sessionStrategy'=>'shared');publicfunctionsetUp(){$this->webDriver=RemoteWebDriver::create($this->host,$this->browser);}publicfunctiontearDown(){$this->webDriver->quit();}我的第一个测试是登录,效果很好:publicfunctiontestLogin(){$this->webDriver->get('http://localhost

php - 使用 laravel 在 PHPStorm 上等待与 ide key 消息的传入连接

我想安装debug并将其与PhpStorm集成。我完成了所有需要的步骤。我将此行添加到php.ini文件中:zend_extension="D:\wamp\bin\php\php5.5.12\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"xdebug.extended_info=1xdebug.remote_enable=1xdebug.profiler_enable=truexdebug.remote_handler=dbgpxdebug.remote_mode=reqxdebug.remote_host=localhostxdebug.remot